using System;

namespace ArtheaEngine
{
    partial class Object : IFormattable
    {
        public Room Room { get; set; }
        public string ToString(string format, IFormatProvider formatProvider)
        {
            if (string.IsNullOrEmpty(format)) format = "G";
            
            switch(format.ToUpper())
            {
                case "G":
                case "N":
                    return ShortDescr.ToString(formatProvider);
                case "L":
                    return LongDescr.ToString(formatProvider);
                default:
                    throw new FormatException("Invalid format for object");
            }
        }
    }

    partial class ObjectContent
    {
        public ObjectContent(Object obj, Object container)
        {
            Object = obj;
            Container = container;
        }
    }

    public enum WeaponClass
    {
        Exotic,
        Sword,
        Dagger,
        Spear,
        Mace,
        Axe,
        Flail,
        Whip,
        Polearm
    }

    public enum WearLocation
    {
        None,
        Head,
        Neck,
        Shoulders,
        Arms,
        Hands,
        WristRight,
        WristLeft,
        Torso,
        Waist,
        Legs,
        Feet,
        Wielded,
        Holding,
        Back
    }
}